home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / lang / Long.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  3.2 KB  |  219 lines

  1. package java.lang;
  2.  
  3. public final class Long extends Number {
  4.    public static final long MIN_VALUE = -9223372036854775808L;
  5.    public static final long MAX_VALUE = 9223372036854775807L;
  6.    public static final Class TYPE = Class.getPrimitiveClass("long");
  7.    private long value;
  8.    private static final long serialVersionUID = 4290774380558885855L;
  9.  
  10.    public static String toString(long var0, int var2) {
  11.       if (var2 < 2 || var2 > 36) {
  12.          var2 = 10;
  13.       }
  14.  
  15.       StringBuffer var3 = new StringBuffer(var2 >= 8 ? 23 : 65);
  16.       boolean var4 = var0 < 0L;
  17.       if (!var4) {
  18.          var0 = -var0;
  19.       }
  20.  
  21.       while(var0 <= (long)(-var2)) {
  22.          var3.append(Character.forDigit((int)(-(var0 % (long)var2)), var2));
  23.          var0 /= (long)var2;
  24.       }
  25.  
  26.       var3.append(Character.forDigit((int)(-var0), var2));
  27.       if (var4) {
  28.          var3.append('-');
  29.       }
  30.  
  31.       return var3.reverse().toString();
  32.    }
  33.  
  34.    public static String toHexString(long var0) {
  35.       return toUnsignedString(var0, 4);
  36.    }
  37.  
  38.    public static String toOctalString(long var0) {
  39.       return toUnsignedString(var0, 3);
  40.    }
  41.  
  42.    public static String toBinaryString(long var0) {
  43.       return toUnsignedString(var0, 1);
  44.    }
  45.  
  46.    private static String toUnsignedString(long var0, int var2) {
  47.       StringBuffer var3 = new StringBuffer(var2 >= 3 ? 22 : 64);
  48.       int var4 = 1 << var2;
  49.       long var5 = (long)(var4 - 1);
  50.  
  51.       do {
  52.          var3.append(Character.forDigit((int)(var0 & var5), var4));
  53.          var0 >>>= var2;
  54.       } while(var0 != 0L);
  55.  
  56.       return var3.reverse().toString();
  57.    }
  58.  
  59.    public static String toString(long var0) {
  60.       return toString(var0, 10);
  61.    }
  62.  
  63.    public static long parseLong(String var0, int var1) throws NumberFormatException {
  64.       if (var0 == null) {
  65.          throw new NumberFormatException("null");
  66.       } else {
  67.          long var2 = 0L;
  68.          boolean var4 = false;
  69.          int var5 = 0;
  70.          int var6 = var0.length();
  71.          if (var6 <= 0) {
  72.             throw new NumberFormatException(var0);
  73.          } else {
  74.             long var7;
  75.             if (var0.charAt(0) == '-') {
  76.                var4 = true;
  77.                var7 = MIN_VALUE;
  78.                ++var5;
  79.             } else {
  80.                var7 = -9223372036854775807L;
  81.             }
  82.  
  83.             long var9 = var7 / (long)var1;
  84.             if (var5 < var6) {
  85.                int var11 = Character.digit(var0.charAt(var5++), var1);
  86.                if (var11 < 0) {
  87.                   throw new NumberFormatException(var0);
  88.                }
  89.  
  90.                var2 = (long)(-var11);
  91.             }
  92.  
  93.             while(var5 < var6) {
  94.                int var13 = Character.digit(var0.charAt(var5++), var1);
  95.                if (var13 < 0) {
  96.                   throw new NumberFormatException(var0);
  97.                }
  98.  
  99.                if (var2 < var9) {
  100.                   throw new NumberFormatException(var0);
  101.                }
  102.  
  103.                var2 *= (long)var1;
  104.                if (var2 < var7 + (long)var13) {
  105.                   throw new NumberFormatException(var0);
  106.                }
  107.  
  108.                var2 -= (long)var13;
  109.             }
  110.  
  111.             if (var4) {
  112.                if (var5 > 1) {
  113.                   return var2;
  114.                } else {
  115.                   throw new NumberFormatException(var0);
  116.                }
  117.             } else {
  118.                return -var2;
  119.             }
  120.          }
  121.       }
  122.    }
  123.  
  124.    public static long parseLong(String var0) throws NumberFormatException {
  125.       return parseLong(var0, 10);
  126.    }
  127.  
  128.    public static Long valueOf(String var0, int var1) throws NumberFormatException {
  129.       return new Long(parseLong(var0, var1));
  130.    }
  131.  
  132.    public static Long valueOf(String var0) throws NumberFormatException {
  133.       return new Long(parseLong(var0, 10));
  134.    }
  135.  
  136.    public Long(long var1) {
  137.       this.value = var1;
  138.    }
  139.  
  140.    public Long(String var1) throws NumberFormatException {
  141.       this.value = parseLong(var1, 10);
  142.    }
  143.  
  144.    public byte byteValue() {
  145.       return (byte)((int)this.value);
  146.    }
  147.  
  148.    public short shortValue() {
  149.       return (short)((int)this.value);
  150.    }
  151.  
  152.    public int intValue() {
  153.       return (int)this.value;
  154.    }
  155.  
  156.    public long longValue() {
  157.       return this.value;
  158.    }
  159.  
  160.    public float floatValue() {
  161.       return (float)this.value;
  162.    }
  163.  
  164.    public double doubleValue() {
  165.       return (double)this.value;
  166.    }
  167.  
  168.    public String toString() {
  169.       return String.valueOf(this.value);
  170.    }
  171.  
  172.    public int hashCode() {
  173.       return (int)(this.value ^ this.value >> 32);
  174.    }
  175.  
  176.    public boolean equals(Object var1) {
  177.       if (var1 != null && var1 instanceof Long) {
  178.          return this.value == (Long)var1;
  179.       } else {
  180.          return false;
  181.       }
  182.    }
  183.  
  184.    public static Long getLong(String var0) {
  185.       return getLong(var0, (Long)null);
  186.    }
  187.  
  188.    public static Long getLong(String var0, long var1) {
  189.       Long var3 = getLong(var0, (Long)null);
  190.       return var3 == null ? new Long(var1) : var3;
  191.    }
  192.  
  193.    public static Long getLong(String var0, Long var1) {
  194.       SecurityManager.enablePrivilege("UniversalPropertyRead");
  195.       String var2 = System.getProperty(var0);
  196.       SecurityManager.revertPrivilege();
  197.       if (var2 != null) {
  198.          try {
  199.             if (var2.startsWith("0x")) {
  200.                return valueOf(var2.substring(2), 16);
  201.             }
  202.  
  203.             if (var2.startsWith("#")) {
  204.                return valueOf(var2.substring(1), 16);
  205.             }
  206.  
  207.             if (var2.startsWith("0") && var2.length() > 1) {
  208.                return valueOf(var2.substring(1), 8);
  209.             }
  210.  
  211.             return valueOf(var2);
  212.          } catch (NumberFormatException var3) {
  213.          }
  214.       }
  215.  
  216.       return var1;
  217.    }
  218. }
  219.